package com.mall.live.mapper;

import com.mall.common.response.CommonResponse;
import com.mall.entity.TbGoods;
import com.mall.entity.live.TbLive;
import com.mall.entity.live.TbLiveFollower;
import com.mall.live.vo.ItemVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author  LiJinYang
 * @email  283006176@qq.com
 * @date 2021/07/27 18:51
 * @version 1.0
 */
@Mapper
public interface LiveMapper {

    /**
     * 列表，分页
     * @param live
     * @return
     */
    List<TbLive> findAll(TbLive live);

    /**
     * 直播列表
     * @param tbLive
     * @return
     */
    List<TbLive> findPage(TbLive tbLive);

    /**
     * 修改状态
     * @param id
     * @param status
     */
    void update(@Param("id") Long id, @Param("status") String status);

    /**
     * 查看直播人,显示直播人、在线人数;
     * @param id
     * @return
     */
    CommonResponse liveDetails(Long id);

    void updateStatusById(TbLive live);

    TbLive findOne(Integer id);

    List<TbLive> findLookNumList(String username);

    List<TbLive> findLiveTimeList(String username);

    List<TbLive> findSaleNumList(String username);

    void addLive(TbLive live);

    ItemVo findItem(Long item);

    List<TbLive> findOrderNum(String username);

    void updateLookNumById(Long id);

    List<TbLive> findListList();

    List<TbLive> findLiveRecommend();

    /**
     * 查询直播间观看人
     * @param lid
     * @return
     */
    List<TbLiveFollower> watch(@Param("lid") Long lid);

    /**
     * 我的直播间
     * @param id
     * @return
     */
    List<TbLive> myLive(@Param("id") Integer id);

    TbLive start(@Param("id") Integer id);
}
